bytool

取白兔谐音,自用的java util集合
已发到github:https://github.com/spritecn/bytool可参照readme引入

原则:

  1. 处理null
  2. 尽量不抛出异常,返回null
  3. 尽量同时提供正反向api,避免调用取反

ArgsUtil

  • 一些基于可变参数的util
  • 入参都是可变参数

EqualsUtil

  • equals
  • notEquals
  • allEquals

BigDecimal Util

主要封装一些基本操作

JSON

jackSon库使用fastJson的语法处理json

Requests

python的Requests非常之出名,之前在网上找到了同名的库https://github.com/hsiafan/requests,但作者停更了,甚至连原库都删了,于是我down了maven的原码改了一下,放到了bytool里用法和原库基本一样,感谢原作者 刘冬

  • 用法示例,groovy写法,java其实一样
def header = ["user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41",
                      "sec-ch-ua-platform": "macOS",
                      "accept": "text/html,application/xhtml+xml,application/xml;q=0.9",
        ]
Requests.get("https://www.baidu.com/s").headers(header).params([wd:"111"]).send().toText()
println(Requests.post("https://getman.cn/echo").send().toText())
//session,每次请求都会带上传入的headers,会话cookies
def req = Requests.buildSessionRequestWithHeader(headers);
def response = req.get("https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=111").send()
def response2 = req.get("https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=&tn=baidu&wd=222震").send()
println(response2.readToText())